// 创建vuex 中的store
// 
import Vuex from 'vuex'
import Vue from 'vue'
Vue.use(Vuex)

export default new Vuex.Store({
    actions: {
        add(context, value) {
            context.commit('ADD', value)
        },
        sub(context, value) {
            context.commit('SUB', value)
        },
        addWhenOdd(context, value) {
            if (context.state.sum % 2) {
                context.commit('ADD', value)
            }
        }
    },
    mutations: {
        ADD(state, value) {
            state.sum += value
        },
        SUB(state, value) {
            state.sum -= value
        },
        ADD_PERSON(state, personObj) {
            state.persons.unshift(personObj)
        }
    },
    state: {
        sum: 0,
        school: '尚硅谷',
        subject: '前端',
        persons:[
            {id:'001',name:'张三'},
        ]
    },
    getters: { //相当于计算属性
        bigSum(state) {
            return state.sum * 10
        }
    }
}) //暴露出去